// axios 公共配置
// 基地址
axios.defaults.baseURL = 'https://geek.itheima.net'
// 请求拦截器
// 添加请求拦截器
axios.interceptors.request.use(
  // 成功拦截：请求发送前执行
  (config) => {
    // 示例1：添加 Token 到请求头
    const token = localStorage.getItem('token');
    if (token) {
      config.headers.Authorization = `Bearer ${token}`;
    }

    return config; // 必须返回 config，否则请求会被阻断
  },
  // 失败拦截：请求准备阶段出错时执行（如参数错误）
  (error) => {
    console.error('请求准备失败:', error);
    return Promise.reject(error);
  }
)
// 响应拦截器
// 添加响应拦截器
axios.interceptors.response.use(
  // 成功拦截：响应状态码 2xx 时执行
  (response) => {

    // 只返回需要的数据（剥离外层包装）
    return response.data; // 后续 .then() 接收的就是这个简化后的数据
  },
  // 失败拦截：响应状态码非 2xx 时执行（如 401、500）
  (error) => {
    // 示例：处理登录过期（401 状态码）
    if (error?.response?.status === 401) {
      alert('登录已过期，请重新登录');
      location.href = '../login/index.html'; // 跳转到登录页
      // 清空本地token
      localStorage.removeItem('token')
    }
    return Promise.reject(error);
  }
);